package com.chen.log.annotation;

import com.chen.log.enums.OperatorType;
import org.springframework.aot.hint.annotation.Reflective;

import java.lang.annotation.*;

/**
 * @author cgj
 * @date 3/23/25 4:32 PM
 */
//元数据 修饰数据的数据如表的字段名
// 元注解 修饰注解的注解
//  target 表示注解可以加的位置 常用
//  TYPE 类   METHOD方法  FIELD 字段     PARAMETER 参数
@Target(ElementType.METHOD)

//    SOURCE 源码时期

//    CLASS  字节码
// 生命周期   RUNTIME   保留到运行时
@Retention(RetentionPolicy.RUNTIME)

// 注解加在父类中,子类会不会继承
@Inherited

//文档生成  javaDoc   加上会把注解也生成文档
@Documented

public @interface Log {
    //没有加default 的属性,在写注解的时候必须传值
    public String title() ;								// 模块名称
    public OperatorType operatorType() default OperatorType.MANAGE;	// 操作人类别
    public int businessType() ;     // 业务类型（0其它 1新增 2修改 3删除）
    public boolean isSaveRequestData() default true;   // 是否保存请求的参数
    public boolean isSaveResponseData() default true;  // 是否保存响应的参数
}
